import Vue from 'vue'
import ELEMENT from 'element-ui'
import VueI18n from 'vue-i18n'
import Cookies from 'js-cookie'

import { messages, getLanguage } from '@/global/utils/i18n'

Vue.use(ELEMENT, {
    size: Cookies.get('size') || 'medium', // set element-ui default size
    i18n: (key, value) => i18n.t(key, value)
})
Vue.use(VueI18n)

if (ELEMENT.lang) {
    const elementEnLocale = ELEMENT.lang.en
    const elementZhLocale = ELEMENT.lang.zhCN
    const elementEsLocale = ELEMENT.lang.es
    const elementJaLocale = ELEMENT.lang.ja

    messages.en = {
        ...messages.en,
        ...elementEnLocale
    }
    messages.zhCN = {
        ...messages.zhCN,
        ...elementZhLocale
    }
    messages.es = {
        ...messages.es,
        ...elementEsLocale
    }
    messages.ja = {
        ...messages.ja,
        ...elementJaLocale
    }
}

const i18n = new VueI18n({
    // set locale
    // options: en | zh | es
    locale: getLanguage(),
    // set locale messages
    messages
})

export default i18n
